When a computer system is started or booted, various initialization procedures or routines are carried out. The boot procedure is performed, among other things, to check the hardware configuration of the system and to prepare the hardware devices found for normal use. The actions required to prepare for normal use are, in many cases, dependent upon other hardware configuration parameters. In other words, the presence of one hardware device may influence how another hardware device is configured. The time taken to complete the boot procedure thus depends upon factors such as the amount and type of memory the system includes, add-in card buses (such as peripheral component interconnect (PCI) buses, extended industry standard architecture (EISA) buses, micro channel architecture (MCA) buses, and/or accelerated graphics port (AGP) buses), storage devices, keyboards, pointing devices, or the like. A particular example of a procedure performed during booting is memory initialization, which is performed by the BIOS or firmware. Computer systems typically include several memory devices that are interfaced to a processor via a memory controller of a chipset. During the booting process, the firmware initializes certain registers in the memory devices and in the memory controller. These initialization procedures are performed each time the computer system is switched on or is re-booted and may result in a delay of several seconds to several minutes before a user may use the computer system.